import requests
from bs4 import BeautifulSoup
import re
import time
def get_baidu_hot():
    while True:
        baidu_top = "https://top.baidu.com/board?tab=realtime"
        resp = requests.get(baidu_top)
        resp.encoding = 'utf-8'
        html = resp.text
        soup = BeautifulSoup(html,'html.parser')
        news = soup.findAll(class_="content_1YWBm")
        news.reverse()
        i = 0
        news_ls = []
        for new in news:
            i = i + 1
            url = new.find('a').attrs['href']
            text = new.find(class_="c-single-text-ellipsis").text
            news_ls.append({"text":text.strip(),"url":url})
            print(('\033[1;37m'+str(i)+'\033[0m').center(50,"*"))
            print("\033[1;36m"+text.strip()+"\033[0m")
        # news_ls.reverse()
        user_input = input("输入新闻编号获取进一步访问的超链接,输入q/Q退出,输入r/R刷新热榜：")
        if user_input == 'q' or user_input == 'Q':
            break
        elif user_input == 'r' or user_input == 'R':
            continue
        elif user_input in [str(i) for i in range(1,32)]:
            news_index = eval(user_input) - 1
            print(news_ls[news_index].get('url'))
            print("\033[1;33m" + "按住Ctrl键，点击超链接进行访问" + "\033[0m")
            print('\033[5;31m'+'10s后自动刷新热榜'+'\033[0m')
            time.sleep(10)
            continue
        else:
            print("Invalid User Input.")
            print('\033[5;31m'+"3s后自动刷新热榜"+'\033[0m')
            time.sleep(3)
            continue
    print("Over,退出百度热搜!")
